﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using persistencia;
using System.Data.Objects;
using System.Data;

namespace GIO.servicios
{
    public class servicioIncidente
    {
        public List<tipo_incidente> getTipoincidentes(String idClasIncidente)
        {
            List<tipo_incidente> ti = new List<tipo_incidente>();
            if (idClasIncidente != "")
            {
                try
                {
                    using (gioEntities e = new gioEntities())
                    {
                        int clasIncidente = int.Parse(idClasIncidente);
                        ObjectQuery<tipo_incidente> query = e.CreateQuery<tipo_incidente>
                         ("SELECT VALUE ti FROM tipo_Incidente AS ti WHERE ti.id_clasificacion_incidente = @clasIncidente",
                         new ObjectParameter("clasIncidente", clasIncidente));
                        foreach (tipo_incidente tipo in query)
                        {
                            ti.Add(tipo);
                        }
                    }
                }
                catch (Exception ex)
                {
                    ex.ToString();
                }
            }
            return ti;
        }


        public List<tipo_incidente_extra> getTipoIncidenteExtra(String idTipoIncidente)
        {
            List<tipo_incidente_extra> tie = new List<tipo_incidente_extra>();
            if (idTipoIncidente != "")
            {
                try
                {
                    using (gioEntities e = new gioEntities())
                    {
                        int tipoIncidente = int.Parse(idTipoIncidente);
                        ObjectQuery<tipo_incidente_extra> query = e.CreateQuery<tipo_incidente_extra>
                         ("SELECT VALUE tie FROM tipo_Incidente_extra AS tie WHERE tie.id_tipo_incidente = @tipoIncidente",
                         new ObjectParameter("tipoIncidente", tipoIncidente));
                        foreach (tipo_incidente_extra tipo in query)
                        {
                            tie.Add(tipo);
                        }
                    }
                }
                catch (Exception ex)
                {
                    ex.ToString();
                }
            }
            return tie;
        }

        public Boolean agregarIncidente(incidente i)
        {
            if (i != null)
            {
                try
                {
                    gioEntities e = new gioEntities();
                    e.AddToincidente(i);
                    e.SaveChanges();
                }
                catch (OptimisticConcurrencyException ex)
                {
                    ex.ToString();
                }
                return true;
            }
            return false;
        }



    }

}

